package cn.iocoder.yudao.module.reading.controller.admin.audio.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;

/**
 * 音频资源管理 Response VO
 */
@Schema(description = "管理后台 - 音频资源管理 Response VO")
@Data
public class AudioResourceAdminRespVO {

    @Schema(description = "音频资源ID", example = "1024")
    private Long id;

    @Schema(description = "音频标题", example = "小红帽的故事")
    private String title;

    @Schema(description = "音频副标题/描述", example = "经典童话故事，适合3-6岁儿童")
    private String subtitle;

    @Schema(description = "音频文件URL", example = "https://example.com/audio/story.mp3")
    private String audioUrl;

    @Schema(description = "封面图片URL", example = "https://example.com/images/cover.jpg")
    private String cover;

    @Schema(description = "音频时长（秒）", example = "180")
    private Integer duration;

    @Schema(description = "音频分类", example = "english")
    private String category;

    @Schema(description = "语言类型", example = "en")
    private String language;

    @Schema(description = "关联绘本ID", example = "1")
    private Long bookId;

    @Schema(description = "关联绘本集ID", example = "1")
    private Long bookSetId;

    @Schema(description = "关联绘本标题", example = "小红帽")
    private String bookTitle;

    @Schema(description = "关联绘本集标题", example = "经典童话故事集")
    private String bookSetTitle;

    @Schema(description = "排序权重", example = "100")
    private Integer sortOrder;

    @Schema(description = "是否启用", example = "true")
    private Boolean enabled;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "创建者")
    private String creator;

    @Schema(description = "更新者")
    private String updater;
}
